package com.objcat.playground.leetcode;

/**
 * description: Solution29 <br>
 * date: 2022/3/22 12:43 PM <br>
 * author: objcat <br>
 * version: 1.0 <br>
 */
public class Solution29 {

    /**
     * description: merge <br>
     * version: 1.0 <br>
     * date: 2022/3/22 1:10 PM <br>
     * author: objcat <br>
     * @param nums1
     * @param m
     * @param nums2
     * @param n
     * @return void
     * 执行用时：1 ms, 在所有 Java 提交中击败了 19.84 % 的用户
     * 内存消耗：41.3 MB, 在所有 Java 提交中击败了 30.37 % 的用户
     */
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        // 判断边界 如果有一个为空就不用合并了
        if (nums1.length == 0 || nums2.length == 0) {
            return;
        }

        // 插入元素
        for (int i = m; i < nums1.length; i++) {
            if ((i - m) >= n) {
                // 防止越界
                break;
            }
            nums1[i] = nums2[i - m];
        }

        // 排序
        for (int i = 0; i < nums1.length; i++) {
            for (int j = i + 1; j < nums1.length; j++) {
                if (nums1[i] > nums1[j]) {
                    int temp = nums1[i];
                    nums1[i] = nums1[j];
                    nums1[j] = temp;
                }
            }
        }
    }

    public static void main(String[] args) {

        int[] num1 = {0};

        int[] num2 = {1};


        Solution29 solution29 = new Solution29();
        solution29.merge(num1, 0, num2, 1);

        for (int i = 0; i < num1.length; i++) {
            System.out.println(num1[i]);
        }
    }
}
